Skip to content

Duet stability: packetizer telemetry and recovery notes#78

Merged
mrmidi merged 2 commits into
mainfrom
codex/duet-stability
Jul 18, 2026
Merged

Duet stability: packetizer telemetry and recovery notes#78
mrmidi merged 2 commits into
mainfrom
codex/duet-stability

Conversation

@mrmidi

@mrmidi mrmidi commented Jul 18, 2026

Copy link
Copy Markdown
Owner

What changed

  • Adds anomaly-only TX packetizer telemetry to the existing driver/MCP log ring: absolute cursor, alignment state/epoch, last DATA packet range, and preparation counters.
  • Retains the first CoreAudio range that exceeds the exposed packet timeline, so an incident can be tied to the packetizer state at the transition.
  • Publishes the selected stream mode from the audio nub to the AudioDriver configuration path.
  • Adds the AV/C recovery and duplex-SYT incident/design document, including the observed corrupt-then-self-rejoining Duet behavior.
  • Updates the ASFW MCP control-plane skill with a safe active-audio query workflow.

Why

Duet can continue to transmit isochronous packets with healthy DMA margins and advancing SYT/ZTS while payload frames are dropped because they lie beyond the exposed data timeline. The previous logs could establish underexposure but could not show whether the TX packetizer cursor/alignment had diverged. This PR makes that next transition attributable without adding hot-path logging.

Impact

The telemetry is read-only and anomaly-only at the log-drain level. It does not restart, reconnect, or otherwise manipulate a live stream. The recovery document explicitly distinguishes transport liveness from audio-content correctness and records the required producer-owned recovery direction.

Validation

  • ./build.sh --no-bump completed successfully (Debug).
  • git diff --check passed.
  • Focused host tests were added but could not run in this environment because cmake is not installed.

No driver install, reload, or hardware action was performed.

@mrmidi
mrmidi marked this pull request as ready for review July 18, 2026 19:07
@mrmidi
mrmidi merged commit e5e5fb2 into main Jul 18, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant